package com.qdairlines.service.user;

import java.util.List;

import com.qdairlines.entity.user.Permission;
import com.qdairlines.service.base.BaseService;

/**
 * 
 * @author pangyannan
 * @date 2017年4月18日
 * @company QingDao Airlines
 * @description 权限服务
 */
public interface PermissionService extends BaseService<Permission,Integer>{
 

	/**
	 * 根据用户工号查询用户所有的权限
	 * @param workcode
	 * @return
	 */
	List<Permission> listPermissionByWorkcode(String workcode);
	
	 /**
	   * 根据工号获取权限名List清单
	   * @param workcode
	   * @return
	   */
	List<String> listPermissionCodeByWorkcode(String workcode);
	
	/**
	 * 根据角色编号查询权限List
	 * @param roleCode
	 * @return
	 */
	List<Permission> listPermissionByRoleCode(String roleCode);
	
	/**
	 * 根据权限编码查询权限
	 * @param permissionCode
	 * @return
	 */
	Permission getPermissionByCode(String permissionCode);
	
	/**
	 * 根据权限名称查询权限
	 * @param permissionCode
	 * @return
	 */
	Permission getPermissionByName(String permissionName);
	
	/**
	 * 重写按主键删除的方法，删除权限的同时，删除权限角色中的关联数据
	 */
	int  deleteByPrimaryKey(Integer id);
}
